/*
 * Game.h
 *
 *  Created on: 26 Feb 2011
 *      Author: sinan
 */

#ifndef GAME_H_
#define GAME_H_

#include <string>
#include "Player.h"
#include "ChessMan.h"

enum ChessPlayerTurn
{
	ChessPlayerTurn_NULL=0,
	ChessPlayerTurn_White,
	ChessPlayerTurn_Black
};

struct GameMessage {

	string message;
};

class Game {
public:
	Game();
	virtual ~Game();

	Player whitePlayer;
	Player blackPlayer;

	static ChessPlayerTurn chessPlayerTurn;
	static ChessTableCoordinate ChosenChessManCoordinate;
	static GameMessage gameMessage;
	bool IsFinished;
	Player winnerPlayer;
	static pthread_t OpenGLThread;
	static pthread_t HTKJuliusThread;

	static void ChangePlayerTurn();
	void Initialize();
	void Start();
	void MakeMovement();
	void End();

};

#endif /* GAME_H_ */
